class Student {
    fullName: string;
    constructor(public firstName, public middleInitial, public lastName) {
        this.fullName = firstName + " " + middleInitial + " " + lastName;
    }
}

interface Person {
    firstName: string;
    lastName: string;
}

function greeter(person : Person) {
    return "Hello, " + person.firstName + " " + person.lastName;
}

let user = new Student("Jane", "M.", "User");

let a:number
function add(a :number, b :Person) :string{
    let d :string
    d = 'ss'
    let c : unknown
    c = 'ss'
    d = c as string
    if(typeof(c) === "string"){
        return c
    }
    return d

}

let obj: {name:string,[propName:string]:any}
let fn : (a:string,b:number)=>string 
fn = function(a,b){
    return 'as'
}
obj = {name:'小白',a:1,b:2}

document.body.innerHTML = greeter(user);